package GestorUsuarios;

/**
 * @file Rol.java
 * @brief Implementa la clase Rol
 * 
 * Representa los distintos tipos de médicos que puede haber en la clínica 
 * 
 * @author Juan Miguel Fernández Pelegrina
 * @version 01.01
 * 
 */

import java.io.IOException;
import java.sql.SQLException;

/**
 * @class Rol
 * 
 * @brief Se encarga de realizar las operaciones para manejar la información de
 *        los roles del sistema en la base de datos.
 * 
 *        Se encarga de realizar las operaciones para manejar la información de
 *        los roles del sistema. Permite realizar búsquedas, etc.
 * 
 */

public class Rol {
	
	/**
	 * @brief Id del rol
	 */
	private int _idRol;
	/**
	 * @brief Nombre del rol
	 */
	private String _nombre;

	/**
	 * @brief Constructor de rol
	 */
	public Rol(int id, String nombre) {
		_idRol = id;
		_nombre = nombre;
	}

	/**
	 * @brief Obtiene un rol por su nombre
	 * @param nombre Nombre del rol
	 * @throws ClassNotFoundException, IOException, SQLException 
	 */
	public static Rol get(String nombre) throws SQLException, IOException, ClassNotFoundException {
		return RolDAO.get(nombre);
	}

	/**
	 * @brief Obtiene un rol por su id
	 * @param id Id del rol
	 * @throws ClassNotFoundException, IOException, SQLException 
	 */
	public static Rol get(int id) throws SQLException, IOException,
			ClassNotFoundException {
		return RolDAO.get(id);
	}
	
	/**
	 * @brief Obtiene todos los roles
	 * @throws ClassNotFoundException, IOException, SQLException 
	 */
	public static Rol [] getTodos() throws SQLException, IOException, ClassNotFoundException  {
		return RolDAO.get();
	}

	/**
	 * @brief Obtiene el id del rol
	 */
	public int getIdRol() {
		return _idRol;
	}

	/**
	 * @brief Establece el id del rol
	 */
	public void setIdRol(int idRol) {
		_idRol = idRol;
	}

	/**
	 * @brief Obtiene el nombre del rol
	 */
	public String getNombre() {
		return _nombre;
	}

	/**
	 * @brief Establece el nombre del rol
	 */
	public void setNombre(String nombre) {
		_nombre = nombre;
	}

}